variable "loadbalancer_name" {
  type = string
  default = null
}

variable "ipv4_subnet_id" {
  type = string
  default = null
}

variable "listener_name" {
  type = string
  default = null
}

variable "protocol_port" {
  type = string
  default = null
}

variable "pool_name" {
  type = string
  default = null
}

variable "lb_method" {
  type = string
  default = null
  description = "ROUND_ROBIN、LEAST_CONNECTIONS、SOURCE_IP"
}

variable "monitor_type" {
  type = string
  default = null
  description = "TCP、UDP、HTTP、HTTPS"
}

variable "monitor_delay" {
  type    = number
  default = null
  description = "1-50"
}

variable "monitor_timeout" {
  type    = number
  default = null
  description = "1-50"
}

variable "monitor_max_retries" {
  type    = number
  default = null
  description = "1-10"
}

variable "listener_protocol" {
  type = string
  description = "TCP、HTTP、UDP、TERMINATED_HTTPS"
  default = null
}

variable "pool_protocol" {
  type = string
  description = "TCP、UDP、HTTP"
  default = null
}

variable "url_path" {
  type = string
  default = null
}

variable "member_configuration" {
  description = "The configuration for member resources to which the elb belongs"
  type = list(object({
    address = string
    weight  = number
  }))
  default = null
}

variable "name_suffix" {
  description = "The suffix string of name for all elb resources"
  
  type    = string
  default = ""
}

variable "loadbalancer_tags" {
  description = "The tags configuration of the ECS instance"
  
  type    = map(string)
  default = {}
}

variable "listener_tags" {
  description = "The tags configuration of the ECS instance"
  
  type    = map(string)
  default = {}
}

variable "is_elb_creat" {
  type = bool
  default = true
}